package leetcode_500;

import helpclass.TreeNode;

/**
 *@author 周杨
 *SumOfLeftLeaves_404 计算一颗二叉树中所有左叶子节点的值总和
 *describe:用递归 每次传一个哨兵标记此是否是由左子树遍历下来的 AC 100%
 *2018年7月19日 上午9:38:36
 */
public class SumOfLeftLeaves_404 {
	public int sumOfLeftLeaves(TreeNode root) {
        if(root==null)
        	return 0;
        return help(root,false);
    }
	
	public int help(TreeNode root,boolean flag) {
		if(root.left==null&&root.right==null) {
			if(flag)
				return root.val;
			else
				return 0;
		}
		int left=0,right=0;
		if(root.left!=null)
			left=help(root.left,true);
		if(root.right!=null)
			right=help(root.right,false);
		return left+right;
	}
}
